[アップデート] Amazon MWAAが新しくInvokeRestAPIをサポートし簡単にREST APIが叩けるようになりました

[アップデート] Amazon MWAAが新しくInvokeRestAPIをサポートし簡単にREST APIが叩けるようになりました

Clock Icon2024.10.29

こんにちは。サービス開発室の武田です。

Amazon MWAA(Managed Workflows for Apache Airflow)で、新しく InvokeRestAPI というAPIが追加されました。

https://aws.amazon.com/jp/about-aws/whats-new/2024/10/amazon-mwaa-simplifies-interaction-airflow-rest-api/

MWAAではWeb管理コンソールが提供されていますが、処理の自動化を考えた場合、プログラムやシェルから扱えた方が簡単です。これまでもREST APIを使用すること自体は可能だったのですが、CreateWebLoginTokenをたたいて、自分でURL組み立て……と手順が煩雑でした。今回追加されたInvokeRestAPIを使用することで、シンプルな操作でAirflowのREST APIをたたけるようになりました。

要件の整理

InvokeRestAPIを使用するための事前条件を整理しました。

  • MWAAのバージョン:2.4.3以上
  • 必要な権限:airflow:InvokeRestAPI
  • AWS CLI v2:2.18.13以上(他のSDKについては割愛)

AWS CLIでやってみた

それでは実際にAWS CLIを用いてInvokeRestAPIをたたいてみましょう。こちらに出来立てのMWAA環境がありますのでこちらを使用していきます。

update-amazon-mwaa-support-invoke-rest-api_1.png

今回は試しに変数を操作してみます。変数は/variablesというエンドポイントが用意されています。

https://airflow.apache.org/docs/apache-airflow/stable/stable-rest-api-ref.html#operation/get_variables

InvokeRestAPINamePathMethodが必須パラメーターです。それぞれ、MWAA環境名、APIのパス、HTTPメソッドを指定します。たたくエンドポイントによって、BodyQueryParametersで値の指定ができます。

今回はまっさらな環境を用意したので、変数を登録してみましょう。

$ aws mwaa invoke-rest-api --name MyAirflowEnvironment --path '/variables' --method POST --body '{"key":"name","description":"post aws cli","value":"classmethod"}'
{
    "RestApiStatusCode": 200,
    "RestApiResponse": {
        "description": "post aws cli",
        "key": "name",
        "value": "classmethod"
    }
}

ステータス200が返ってきて成功してそうです。登録した値を取得してみましょう。

$ aws mwaa invoke-rest-api --name MyAirflowEnvironment --path '/variables' --method GET
{
    "RestApiStatusCode": 200,
    "RestApiResponse": {
        "total_entries": 1,
        "variables": [
            {
                "description": "post aws cli",
                "key": "name",
                "value": "classmethod"
            }
        ]
    }
}

先ほどとの違いはmethodGETを指定している点です。ちゃんと取得できています。REST APIなので使い慣れた感じで使用できていいですね。

Webコンソールからも確認してみました。当たり前ですがちゃんと登録されていました。

update-amazon-mwaa-support-invoke-rest-api_2.png

まとめ

MWAAのREST APIに簡単にアクセスできるAPIが追加されました。これまで自動化などで煩雑な処理をしていた部分がスッキリしそうです。導入の検討や既存の処理の見直しなどぜひしてみてください。

参考URL

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.